//
//  LRBaseViewController.swift
//  LRWeibo
//
//  Created by 雷路荣 on 15/12/15.
//  Copyright © 2015年 leilurong. All rights reserved.
//

import UIKit

class LRBaseViewController: UITableViewController,LRVisitorViewDelegate {//遵守代理协议
    
    //实现代理方法，注册按钮点击
    func visitorViewDidRegisterButton() {
        print("注册按钮点击")
    }
    //代理方法，登录按钮点击
    func visitorViewDidLoginButton() {
        //跳转到授权界面
        let OAuthVc = LROAuthViewController()
        presentViewController(UINavigationController(rootViewController: OAuthVc), animated: true, completion: nil)
    }
    
    //访客视图懒加载
    lazy var visitorView: LRVisitorView? = LRVisitorView()
    
    var userLogin = LRUserAccount.userLogin
    
    override func viewDidLoad() {
        super.viewDidLoad()
        userLogin ? super.loadView() : loadVisitorView()
    }
    //加载访客view
    func loadVisitorView(){
        //view = UIView()
        //view.backgroundColor = UIColor.brownColor()
        //将访客视图添加到当前控制器view
        view = visitorView
        if self is LRHomeController {
            //开始动画
            visitorView?.startRotationAnimation()
            //监听应用进入后台
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didEnterBackgroud", name: UIApplicationDidEnterBackgroundNotification, object: nil)
            //监听用户进入前台
            NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive", name: UIApplicationDidBecomeActiveNotification, object: nil)
            
        }else if self is LRDiscoverController {
            visitorView?.setupVisitorViewInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
        }else if self is LRMessageController {
            visitorView?.setupVisitorViewInfo("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
        }else if self is LRProfileController {
            visitorView?.setupVisitorViewInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
        }
        //设置代理
        visitorView?.delegate = self
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidRegisterButton")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidLoginButton")
    }
    //解析函数，对象销毁的时候调用,只对LRHomeController进行了监听
    deinit{
        if self is LRHomeController {
            NSNotificationCenter.defaultCenter().removeObserver(self)
        }
    }
    // MARK: - 监听回调方法
    // 应用进入后台--暂停动画
    func didEnterBackgroud() {
        print(__FUNCTION__)
        visitorView?.pauseAnimation()
    }
    // 应用进入前台--恢复动画
    func didBecomeActive() {
        print(__FUNCTION__)
        visitorView?.resumeAnimation()
    }
}
/*
// MARK: - 扩展 CZBaseTableViewController 实现 CZVistorViewDelegate 协议
// extension 和 OC 中的 Category非常类似, 可以将协议的相关方法放到一起, 方便统一管理代码
extension LRBaseViewController: LRVisitorViewDelegate {
    //实现代理方法，注册按钮点击
    func visitorViewDidRegisterButton() {
        print("注册按钮点击")
    }
    //代理方法，登录按钮点击
    func visitorViewDidLoginButton() {
        print("登录按钮点击")
    }
}
*/



